<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
</head>
<body>

</body>
<script>
	// 箭头函数分为以下几种情况
	// - 只有一个参数 并函数体是一句话的时候,可以省略
	{
		// 如果只有一个参数可以省略括号
		// const fn = a => {
		// 	console.log(a);
		// }
		// fn(1);
		
		// 函数体只有一条语句的时候可以省略{}
		// 如果该条语句有return，需要省略return
		// 省略{}会将该语句的结果进行返回。
		// const fn = a =>a;
		// console.log(fn(100));
		
		// let arr = [1, 2, 3, 4, 5];
		// 未使用箭头函数
		// let arr2 = arr.map(function (item) {
		// 	return item + 100;
		// });
		
		// 使用箭头函数
		// let arr2 = arr.map(item => item + 100);
		// console.log(arr2);
	}
	// - 没有参数或者多个参数的时候，参数的括号不能省略
	{
		// let fn = (a,b,c)=>{
		// 	// 多个参数
		// };
		// let fn2 = ()=>{
		// 	// 无参数
		// }
		// fn(1,2,3)
	}
	// - 当函数体不是一句话的时候，花括号 不可以省略
	{
		// let fn = (a,b)=>{
		// 	let c = a+b;
		// 	return c;
		// }
	}
	// - 如果函数体内只有一条语句，该行语句返回的是对象的话，可以使用括号。
	{
		// let fn = ()=>{
		// 	return {
		// 		a:1,
		// 		b:2,
		// 		c:3
		// 	}
		// };
		
		// 省略：小括号包裹的内容即是该函数返回的内容。
		// let fn = ()=>({
		// 	a:1,
		// 	b:2,
		// 	c:3
		// })
		// let fn2 = ()=>(1);
		// console.log(fn());
		// console.log(fn2());
		
	}
	{
		let fn = (a,b)=>{
			console.log(a+b);
		}
		
		let fn2 = (a,b)=>console.log(a+b);
	}
	{
		let fn = a=>a;
	}
</script>
</html>